package agencia;

import java.util.Date;

public abstract class PlanDePago 
{
	protected double montoTotal;
	protected Date fechaCierre;
	protected EstadosPlan estado;
	protected int cantPagos;
	
	enum EstadosPlan 
	{
		Impago,
		PagoParcial,
		Pago
	};

	public PlanDePago (double montoTotal)
	{
		this.cantPagos=1;
		this.montoTotal = montoTotal;
		this.estado = EstadosPlan.Impago;
	}
	
	protected void CerrarPlan()
	{
		this.estado = EstadosPlan.Pago;
		this.fechaCierre = new Date();
	}
	
	public abstract void Pagar() throws Exception;
	
	public abstract Double GetMonto() throws Exception;
	
	public boolean PlanCerrado()
	{
		if(this.estado==EstadosPlan.Pago)
			return true;
		return false;
	}

	public abstract int getCantPagosPendientes();

	public int getCantPagos() {
		return cantPagos;
	}
	
}